/**
 * @Copyright:Copyright (c) 2007 - 2023
 * 
 */
package com.tengtong.commons.json;

import java.util.List;

import com.tengtong.commons.lang.StringUtils;

/**
 * 一般性的 Json 数组
 *
 * @author lin_jinming
 * @since: v1.0
 */
public interface JsonArray extends List<Object>{

    public Object getObject(int index);
    
    /**
     * 获取数组对应索引的值，注意：如果无法转为数值，会抛出异常
     *
     * @param index
     * @return
     */
    default public int getInt(int index) {
        Object o = getObject(index);
        if(o instanceof Number v) {
            return v.intValue();
        }
        return Integer.valueOf(StringUtils.asString(o))
                      .intValue();
    }
    
    default public int getInt(int index, int defaultValue) {
        try {
            return getInt(index);
        }
        catch (Exception e) {}
        return defaultValue;
    }
}
